package com.xique.common.core.constant;

/**
 * 用户常量信息
 *
 * @author xique
 */
public class UserConstants {

    /**
     * 平台内系统用户的唯一标志
     */
    public static final String SYS_USER = "SYS_USER";

    /**
     * 正常状态
     */
    public static final String NORMAL = "0";

    /**
     * 异常状态
     */
    public static final String EXCEPTION = "1";

    /**
     * 用户封禁状态
     */
    public static final String USER_DISABLE = "1";

    /**
     * 角色封禁状态
     */
    public static final String ROLE_DISABLE = "1";

    /**
     * 部门正常状态
     */
    public static final String DEPT_NORMAL = "0";

    /**
     * 部门停用状态
     */
    public static final String DEPT_DISABLE = "1";

    /**
     * 字典正常状态
     */
    public static final String DICT_NORMAL = "0";

    /**
     * 是否为系统默认（是）
     */
    public static final String YES = "Y";

    /**
     * 是否菜单外链（是）
     */
    public static final String YES_FRAME = "0";

    /**
     * 是否菜单外链（否）
     */
    public static final String NO_FRAME = "1";

    /**
     * 菜单类型（目录）
     */
    public static final String TYPE_DIR = "M";

    /**
     * 菜单类型（菜单）
     */
    public static final String TYPE_MENU = "C";

    /**
     * 菜单类型（按钮）
     */
    public static final String TYPE_BUTTON = "F";

    /**
     * Layout组件标识
     */
    public final static String LAYOUT = "Layout";

    /**
     * ParentView组件标识
     */
    public final static String PARENT_VIEW = "ParentView";

    /**
     * InnerLink组件标识
     */
    public final static String INNER_LINK = "InnerLink";

    /**
     * 校验返回结果码
     */
    public final static String UNIQUE = "0";

    public final static String NOT_UNIQUE = "1";

    /**
     * 用户名长度限制
     */
    public static final int USERNAME_MIN_LENGTH = 2;

    public static final int USERNAME_MAX_LENGTH = 20;

    /**
     * 密码长度限制
     */
    public static final int PASSWORD_MIN_LENGTH = 6;

    public static final int PASSWORD_MAX_LENGTH = 1024;

    public static final class Platform {

        public final static String ADMIN = "admin";

        public final static String ADMIN_SERVICE = "admin_service";

        public final static String ADMIN_PROJECT = "admin_project";

        public final static String API = "api";

        public final static String API_V1 = "api/v1";

        public final static String APP = "app";

        public final static String CLIENT = "client";

        public final static String APP_PARK = "app_park";

        public final static String MINIPROGRAM = "miniprogram";

        public final static String PARK_MINIPROGRAM = "park_miniprogram";
    }

    public static final class UserType {

        public final static String MANAGER = "00";

        public final static String SERVICE_MANAGER = "01";

        public final static String PROJECT_MANAGER = "02";
    }

    public static final class Type {

        public final static Integer MANAGER = 1;

        public final static Integer CLIENT = 2;
    }

    public static final class OnlineStatus {

        public final static String ONLINE = "online";

        public final static String OFFLINE = "offline";
    }

    public static final class DelFlag {

        public final static String NORMAL = "0";

        public final static String DELETE = "2";

    }

    /**
     * 菜单名称是否唯一的返回结果码
     */
    public final static String MENU_NAME_UNIQUE = "0";
    public final static String MENU_NAME_NOT_UNIQUE = "1";
}
